package com.tms.order.domain;

import java.math.BigDecimal;
import java.sql.Time;
import java.time.LocalTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.xml.crypto.Data;

/**
 * 异常统计对象 sys_exception
 *
 * @author ruoyi
 * @date 2024-10-29
 */
public class Exception extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 总运单数量 */
    @Excel(name = "总运单数量")
    private Long totalWaybills;

    /** 异常运单数量 */
    @Excel(name = "异常运单数量")
    private Long abnormalWaybills;

    /** 异常率 */
//    @Excel(name = "异常率")
//    private Double abnormalRate;

    /** 处理完成 */
    @Excel(name = "处理完成")
    private Long completed;

    /** 未处理 */
    @Excel(name = "未处理")
    private Long unprocessed;

    /** 处理中 */
    @Excel(name = "处理中")
    private Long processing;

    private Integer num; //总运单数量

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date time; //日期

    private Integer yc; //异常运单数量

    private Integer ywc; //处理完成

    private Integer wcl; //未处理

    private Integer clz; //处理中


    public Exception() {
    }

    public Exception(Integer yc, Integer num, Date time, Integer ywc, Integer wcl, Integer clz) {
        this.yc = yc;
        this.num = num;
        this.time = time;
        this.ywc = ywc;
        this.wcl = wcl;
        this.clz = clz;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public Integer getYc() {
        return yc;
    }

    public void setYc(Integer yc) {
        this.yc = yc;
    }

    public Integer getYwc() {
        return ywc;
    }

    public void setYwc(Integer ywc) {
        this.ywc = ywc;
    }

    public Integer getWcl() {
        return wcl;
    }

    public void setWcl(Integer wcl) {
        this.wcl = wcl;
    }

    public Integer getClz() {
        return clz;
    }

    public void setClz(Integer clz) {
        this.clz = clz;
    }


/** 完成率 */
//    @Excel(name = "完成率")
//    private Double completionRate;

    /** 平均处理时长 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "平均处理时长", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Time averageHandlingTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setTotalWaybills(Long totalWaybills)
    {
        this.totalWaybills = totalWaybills;
    }

    public Long getTotalWaybills()
    {
        return totalWaybills;
    }
    public void setAbnormalWaybills(Long abnormalWaybills)
    {
        this.abnormalWaybills = abnormalWaybills;
    }

    public Long getAbnormalWaybills()
    {
        return abnormalWaybills;
    }
//    public void setAbnormalRate(Double abnormalRate)
//    {
//        this.abnormalRate = abnormalRate;
//    }

//    public Double getAbnormalRate()
//    {
//        return abnormalRate;
//    }
    public void setCompleted(Long completed)
    {
        this.completed = completed;
    }

    public Long getCompleted()
    {
        return completed;
    }
    public void setUnprocessed(Long unprocessed)
    {
        this.unprocessed = unprocessed;
    }

    public Long getUnprocessed()
    {
        return unprocessed;
    }
    public void setProcessing(Long processing)
    {
        this.processing = processing;
    }

    public Long getProcessing()
    {
        return processing;
    }
//    public void setCompletionRate(Double completionRate)
//    {
//        this.completionRate = completionRate;
//    }

//    public Double getCompletionRate()
//    {
//        return completionRate;
//    }
    public void setAverageHandlingTime(Time averageHandlingTime)
    {
        this.averageHandlingTime = averageHandlingTime;
    }

    public Time getAverageHandlingTime()
    {
        return averageHandlingTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("date", getDate())
            .append("totalWaybills", getTotalWaybills())
            .append("abnormalWaybills", getAbnormalWaybills())
//            .append("abnormalRate", getAbnormalRate())
            .append("completed", getCompleted())
            .append("unprocessed", getUnprocessed())
            .append("processing", getProcessing())
//            .append("completionRate", getCompletionRate())
            .append("averageHandlingTime", getAverageHandlingTime())
            .toString();
    }
}
